The present invention relates to a method of providing call setup services in a switched telecommunications system.
As used herein, the term xe2x80x9cswitched telecommunication systemxe2x80x9d means a system comprising a bearer network with switches for setting up a bearer channel through the network. The term xe2x80x9cswitched telecommunication systemxe2x80x9d is to be taken to include not only the existing public and private telephone systems (whether using analogue phones or ISDN-based), but also broadband (ATM) and other switch-based bearer networks that are currently being implemented or may emerge in the future. For convenience, the term xe2x80x9cswitched telecommunication systemxe2x80x9d is sometimes shortened herein to telecommunication system.
Reference to a xe2x80x9ccallxe2x80x9d in the context of a switched telecommunication system is to be understood as meaning a communication through a bearer channel set up across the bearer network, whilst references to call setup, maintenance and takedown are to be taken to mean the processes of setting up, maintaining and taking down a bearer channel through the bearer network. Terms such as xe2x80x9ccall processingxe2x80x9d and xe2x80x9ccall handlingxe2x80x9d are to be similarly interpreted.
The term xe2x80x9ccommunication systemxe2x80x9d when used herein should be understood as having a broader meaning than switched telecommunication system, and is intended to include datagram-based communication systems where each data packet is independently routed through a bearer network without following a predetermined bearer channel.
Telecommunication companies running PSTNs (Public Switched Telephone Networks) and PLMNs (Public Land Mobile Networks) are in the business of providing communication services and in doing so are providing increasing built-in intelligence in the form of xe2x80x9cIN servicesxe2x80x9d such as 800 number services and call forwarding. In contrast, the World Wide Web (WWW), which has seen explosive growth in recent times, is an example of an Internet-based global network providing complex information services. These two worlds, that of the large communications utilities and that of the highly dynamic, pioneer-spirit WWW information culture, are uneasy companions and each plans to encroach on the domain previously occupied by the others; thus telephony services will be offered over the WWW and information services over the public communication infrastructure.
The present invention proposes technologies for a more synergetic relationship between these two worlds than is currently envisaged and in order to place the present invention in context, a review will first be given of each of these two worlds.
Telephone Networks With IN Services
The Basic PSTN. The basic service provided by a PSTN (Public Switched Telephone Network) is the interconnection of two telephones (that is, setting up a bearer channel between the telephones) according to a called-party telephone number input at the calling-party telephone. FIG. 1 is a simplified representation of a PSTN providing such a service. In particular, customer premises equipment, CPE, 10 (such as standard analogue telephones, but also more recently ISDN terminals) are connected through an access network 11 to switching points, SPs 12. The SPs 12 form nodes in an inter-exchange network 13 made up of interconnecting trunks 14 and SPs that are controlled by control entities 15 in the SPs. The control effected by the control entities 15 is determined by signalling inputs received from the CPEs and other SPs, and involves call setup, maintenance and clearance to provide the desired bearer channel between calling CPE and called CPE. Conceptually, the PSTN may be thought of as a bearer network and a control (signalling) network, the function of the latter being to effect call control through the bearer network, namely the control of setup, maintenance and take down of bearer channels through the bearer network; in practice, the bearer and signalling networks may use the same physical circuits and even the same logical channels.
Thus, where the CPE is a traditional dumb telephone, control signalling between the CPE and its local SP is in-band signalling, that is, the signalling is carried on the same channel as used for voice; this signalling is interpreted and converted at the SPs 12 into signalling between SPs that uses a dedicated common-channel signalling network 16 (implemented nowadays using the SS7 protocol suite). Where the CPE is an ISDN terminal, signalling is carried in a separate channel directly from the CPE on an end-to-end. Modern SPs use the ISUP (ISDN User Part) SS7 protocol for inter-exchange call control signalling whether the CPE is a standard telephone or an ISDN terminal.
Telephone Numbering Plansxe2x80x94As certain implementational aspects of the present invention are influenced by the structuring of telephone numbers, a brief description will now be given of the structuring of such numbers. Telephone numbers form an international, hierarchical addressing scheme based on groups of decimal digits. The top level of the hierarchy is administered by the ITU-T, which has allocated single-digit numeric codes to the major geographic zones (for example xe2x80x9c1xe2x80x9d for North America, xe2x80x9c2xe2x80x9d for Africa, xe2x80x9c3xe2x80x9d for Europe, xe2x80x9c4xe2x80x9d for Europe, xe2x80x9c5xe2x80x9d for South America and Cuba, etc.). Within each zone countries are assigned 2 or 3 digit codes, so that within zone 3 France is xe2x80x9c33xe2x80x9d, and within zone 4 the UK is xe2x80x9c44xe2x80x9d. Administration of the numbering plan within a country is delegated to a national body, such as the Office of Telecommunications (xe2x80x9cOftelxe2x80x9d) in the UK. The following further description is based on the UK numbering plan, but the scheme described will be recognised as having widespread applicability.
In the UK all national numbers are prefixed by a code from 01 to 09 (the xe2x80x980xe2x80x99 prefix is dropped in international dialling). The currently assigned codes are xe2x80x9c01xe2x80x9d for Geographic Area Codes, xe2x80x9c02xe2x80x9d for Additional Geographic Area Codes, xe2x80x9c04xe2x80x9d for Mobile Services, xe2x80x9c07xe2x80x9d for Personal Numbers, and xe2x80x9c08xe2x80x9d for Special Service (freephone, information).
Normal wireline PSTN subscriber telephone numbers are allocated from the Geographic Area Code codes, and currently only codes prefixed by 01 are allocated. Geographic area codes are presently 3 or 4 digits (excluding the leading xe2x80x980xe2x80x99) and there are currently 638 geographic areas each with its own code. A full national UK dialled number takes two forms:
The first case has the xe2x80x980xe2x80x99 prefix, a 3 digit area code and a 7 digit local number, and the second case has the xe2x80x980xe2x80x99 prefix, a 4 digit area code, and a 6 digit local number. Further interpretation of the local number will take place within the area exchange, as even a 6 digit address space is too large for a single switch, and for a typical local area several switches may be needed to host the required number of subscriber lines. This interpretation is opaque and is a matter for the area service provider.
In the current PSTN the inherently hierarchical and geographic interpretation of telephone numbers is mirrored by the physical architecture of the network. A telephone number is structured in a way that makes it easy to route a call through the network. At each step, the prefix of the number provides information about the current routing step, and the suffix (perhaps opaquely) provides information about subsequent routing steps; as long as a switch knows how to parse a prefix and carry out a routing step, it does not need to understand the content of the suffix, which is left for subsequent routing steps. For this reason the international and national switching fabric is also organised hierarchically.
Intelligent Networks. Returning now to a consideration of the current telephone network infrastruture, in addition to basic call handling, an SP may also serve to provide what are called IN (Intelligent Network) services; in this case the SP is termed a service switching point, SSP. An SSP 25 is arranged to suspend call processing at defined points-in call upon particular criteria being met, and to delegate the continuation of call processing to a service control subsystem providing a service control function (SCF) either in the form of a service control point, SCP 17 (see FIG. 2) or an Adjunct 18. The Adjunct 18 is directly associated with an SSP 25 whilst the SCP 17 and SSP 25 communicate with each other via an extended common channel signalling (CCS) network 16 that may include signal transfer points (STP) 19. The SCP 17 may be associated with more than one SSP 25. Both the SCP 17 and Adjunct 18 provide a service logic execution environment (SLEE) 20 in which instances of one or more service logic programs (SLP) 21 can execute. The SLEE 20 and SLP 21 together provide service control functionality for providing services to the SSP 25.
Service logic running in an SCP or Adjunct will generally make use of subscriber information stored in a service data function (SDF) 22 that may be integral with the SCP/Adjunct or partially or wholly separate therefrom. The service data function (SDF), like the service control function (SCF) forms part of the service control subsystem of the PSTN. It may be noted that some or all of the service control function may be built into the PSTN switches themselves.
In addition to the SCP 17 and Adjunct 18, the FIG. 2 network includes an intelligent peripheral (IP) 23. The IP 23 provides resources to the SSP 25 such as voice announcements and DTMF digit collection capabilities. The network will also include an operation system (not shown) that has a general view of the network and its services and performs functions such as network monitoring and control.
In operation, when the SSP 25 receives a call, it examines internal trigger conditions and, possibly, user information (eg dialled digits) to ascertain if the call requires a service to be provided by the service control subsystem 17, 18; the checking of trigger conditions may be carried out at several different points in call processing. Where the SSP 25 determines that a service is required it messages the service control subsystem (either SCP 17 or Adjunct 18) requesting the desired service and sending it a logic representation of the call in terms of its connectivity and call processing status. The service control subsystem then provides the requested service and this may involve either a single interaction between the SSP and service control subsystem or a session of interactions. A typical service is call forwarding which is a called-party service giving expression to an end-user requirement as simple as xe2x80x9cif you call me on number X and it rings ten times, try calling number Yxe2x80x9d. In this case, it is the SSP local to the called end-user that triggers its associated SCP (or Adjunct) to provide this service; it will, of course, be appreciated that the SSP must be primed to know that the service is to be provided for a called number X.
The above-described model for the provision of IN services in a PSTN can also be mapped onto PLMNs (Public Land Mobile Networks) such as GSM and other mobile networks. Control signalling in the case of a mobile subscriber is more complex because in addition to all the usual signalling requirements, there is also a need to establish where a call to a mobile subscriber should be routed; however, this is not a very different problem from a number of called-party IN services in the PSTN. Thus in GSM, the service data function (SDF) is largely located in a system named a Home Location Register (HLR) and the service control function in a system named a Visitor Location Register (VLR) that is generally associated on a one-to-one basis with each SSP (which in GSM terminology is called a Mobile Switching Centre, MSC).
Because subscribers are mobile, the subscriber profile is transported from the HLR to whichever VLR happens to be functionally closest to be mobile subscriber, and from there the VLR operates the (fixed) service using the subscriber profile and interacts with the SSP. The HLR and VLR thus constitute a service control subsystem similar to an SCP or Adjunct with their associated databases.
It is, of course, also possible to provide IN services in private telephone systems and, in this case, the service control function and service data function are generally either integrated into a PABX (Private Automatic Branch Exchange) or provided by a local computer. The service control subsystem, whilst present, may thus not be a physically distinct from the PABX.
The above-described general architectural framework for providing IN services has both strengths and flaws. Its main strength is that it works and many services have been successfully deployed, such as 800 number services, credit card calling, voicemail, and various call waiting and redirection services. However, despite years of standardisation, services are still implemented one-at-a-time on proprietary platforms and do not scale well. The approach has been based on large, fault-tolerant systems which provide services for hundreds of thousands or even millions of subscribers and take years to deploy. Furthermore, since the networks used to support these services also constitute the basic telephone infrastructure, anything attached to these networks must be rigorously vetted. Additionally, each country and operator tends to have local variations of the so-called standards making it difficult to supply standard products and thereby braking the dynamics of competition.
The World Wide Web
In contrast to the slow deliberate progress of the telephone infrastructure, the WWW has grown explosively from its inception in 1989 to become the primary electronic information distribution service in terms of spread, availability and richness of information content. Anyone can, for a modest outlay, become an information provider with a world-wide audience in a highly interconnected information architecture.
The WWW is a client-server application running over the Internet and using a client-server protocol which mandates only the simplest of exchanges between client and server. This protocol is HTTP (Hyper Text Transfer Protocol) which is optimised for use over TCP/IP networks such as the Internet; the HTTP protocol can, however, also be used over networks using different communication protocol stacks.
Since the availability of literature concerning the WWW has seen the same sort of growth as the WWW itself, a detailed description of the WWW, HTTP and the Internet will not be given herein. An outline description will, however, be given with attention being paid to certain features of relevance to implementations of the present invention.
The WWW uses the Internet for interconnectivity. Internet is a system that connects together networks on a worldwide basis. Internet is based on the TCP/IP protocol suite and provides connectivity to networks that also use TCP/IP. For an entity to have a presence on the Internet, it needs both access to a network connected to the Internet and an IP address. IP addresses are hierarchically structured. Generally an entity will be identified at the user level by a name that can be resolved into the corresponding IP address by the Domain Name System (DNS) of the Internet. Because the DNS or adaptions of it are fundamental to at least certain embodiments of the invention described hereinafter, a description will next be given of the general form and operation of the DNS.
The Domain Name Systemxe2x80x94The DNS is a global, distributed, database, and without its performance, resilience and scalability much of the Internet would not exist in its current form. The DNS, in response to a client request, serves to associate an Internet host domain name with one or more Registration Records (RR) of differing types, the most common being an address (A) record (such as 15.144.8.69) and mail exchanger (MX) records (used to identify a domain host configured to accept electronic mail for a domain). The RRs are distributed across DNS name servers world-wide, these servers cooperating to provide the domain name translation service; no single DNS server contains more than a small part of the global database, but each server knows how to locate DNS servers which are xe2x80x9ccloserxe2x80x9d to the data than it is. For present purposes, the main characteristics of the DNS of interest are:
The host name space is organised as a tree-structured hierarchy of nodes with each host having a corresponding leaf node; each node has a label (except the root node) and each label begins with an alphabetic character and is followed by a sequence of alphabetic characters or digits. The full, or xe2x80x9cfully qualifiedxe2x80x9d name of a host is the string of node labels, each separated by a xe2x80x9c.xe2x80x9d, from the corresponding leaf node to the root node of the hierarchy, this latter being represented by a terminating xe2x80x9c.xe2x80x9d in the name. Thus a host machine xe2x80x9cfredxe2x80x9d of Hewlett-Packard Laboratories in Bristol, England will have a fully qualified domain name of xe2x80x9cfred.hpl.hp.com.xe2x80x9d (note that if a host name does not have a terminal xe2x80x9c.xe2x80x9d it is interpreted relative to the current node of the naming hierarchy).
Each host has one or more associated Registration Records (RRs).
There are a plurality of DNS servers each with responsibility for a subtree of the name space. A DNS server will hold RRs for all or part of its subtreexe2x80x94in the latter case it delegates responsibility for the remainder of the subtree to one or more further DNS servers. A DNS server knows the address of any server to which it has delegated responsibility and also the address of the server which has given it the responsibility for the subtree it manages. The DNS servers thus point to each other in a structuring reflecting that of the naming hierarchy.
An application wishing to make use of the DNS does so through an associated xe2x80x9cresolverxe2x80x9d that knows the address of at least one DNS server. When a DNS server is asked by this resolver for an RR of a specified host, it will return either the requested RR or the address of a DNS server closer to the server holding the RR in terms of traversal of the naming hierarchy. In effect, the hierarchy of the servers is ascended until a server is reached that also has responsibility for the domain name to be resolved; thereafter, the DNS server hierarchy is descended down to the server holding the RR for the domain name to be resolved.
The DNS uses a predetermined message format (in fact, it is the same for query and response) and uses the IP protocols.
These characteristics of the DNS may be considered as defining a xe2x80x9cDNS-typexe2x80x9d system always allowing for minor variations such as in label syntax, how the labels are combined (ordering, separators), the message format details, evolutions of the IP protocols etc.
Due to the hierarchical naming structure, it is possible to delegate responsibility for administering domains (subtrees) of the name space recursively. Thus, the top-level domains are administered by InterNic (these top-level domains include the familiar xe2x80x98comxe2x80x99, xe2x80x98eduxe2x80x99, xe2x80x98orgxe2x80x99, xe2x80x98intxe2x80x99, xe2x80x98netxe2x80x99, xe2x80x98milxe2x80x99 domains as well as top-level country domains specified by standard two-letter codes such as xe2x80x98usxe2x80x99, xe2x80x98ukxe2x80x99, xe2x80x98frxe2x80x99 etc.). At the next level, by way of example Hewlett-Packard Company is responsible for all names ending in xe2x80x98hp.comxe2x80x99 and British Universities are collectively responsible for all names ending in xe2x80x98ac.ukxe2x80x99. Descending further, and again by way of example, administration of the domain xe2x80x98hpl.hp.comxe2x80x99 is the responsibility of Hewlett-Packard Laboratories and administration of the subtree (domain) xe2x80x98newcastle.ac.ukxe2x80x99 is the responsibility of the University of Newcastle-upon-Tyne.
FIG. 3 illustrates the progress of an example query made from within Hewlett-Packard Laboratories. The host domain name to be resolved is xe2x80x98xy.newcastle.ac.ukxe2x80x99, a hypothetical machine at the University of Newcastle, United Kingdom. The query is presented to the DNS server responsible for the xe2x80x9chpl.hp.comxe2x80x9d subtree. This server does not hold the requested RR and so responds with the address of the xe2x80x9chp.comxe2x80x9d DNS server; this server is then queried and responds with the address of the xe2x80x98comxe2x80x99 DNS server which in turn responds with the address of the xe2x80x98.xe2x80x99 (root) DNS server. The query then proceeds iteratively down the xe2x80x98ukxe2x80x99 branch until the xe2x80x98newcastle.ac.ukxe2x80x99 server responds with the RR record for the name xe2x80x98xyxe2x80x99 in its subtree.
This looks extremely inefficient, but DNS servers are designed to build a dynamic cache, and are initialised with the addresses of several root servers, so in practice most of the iterative queries never take place. In this case the xe2x80x98hpl.hp.comxe2x80x99 DNS server will know the addresses of several root servers, and will likely have the addresses of xe2x80x98ukxe2x80x99 and xe2x80x98ac.ukxe2x80x99 servers in its cache. The first query to the xe2x80x98hpl.hp.comxe2x80x99 server will return the address of the xe2x80x98ac.ukxe2x80x99 server. The second query to the xe2x80x98ac.ukxe2x80x99 server will return the address of the xe2x80x98newcastle.ac.ukxe2x80x99 server, and the third query will return the RR in question. Any future queries with a xe2x80x98newcastle.ac.ukxe2x80x99 prefix will go direct to the newcastle DNS server as that address will be retained in the xe2x80x9chpl.hp.comxe2x80x9d DNS server cache. In practice names within a local subtree are resolved in a single query, and names outside the local subtree are resolved in two or three queries.
Rather than a resolver being responsible for carrying out the series of query iterations required to resolve a domain name, the resolver may specify its first query to be recursive in which case the receiving DNS server is responsible for resolving the query (if it cannot directly return the requested RR, it will itself issue a recursive query to a xe2x80x98closerxe2x80x99 DNS server, and so on).
It should also be noted that in practice each DNS server will be replicated, that is, organised as a primary and one or more secondaries. A primary DNS nameserver initialises itself from a database maintained on a local file system, while a secondary initialises itself by transferring information from a primary. A subtree will normally have one primary nameserver and anything up to ten secondariesxe2x80x94the limitation tends to be the time required by the secondaries to update their databases from the primary. The primary database is the master source of subtree information and is maintained by the domain DNS administrator. The secondaries are not simply standby secondaries but each actively participates in the DNS with dependent servers that point to it rather than to the corresponding primary.
DNS implementations, such as BIND, are widely available as a standard part of most UNIX systems, and can claim to be among the most robust and widely used distributed applications in existence.
Operation of the WWW Referring now to FIG. 4 of the accompanying drawings, access to the Internet 30 may be by direct connection to a network that is itself directly or indirectly connected to the Internet; such an arrangement is represented by terminal 31 in FIG. 4 (this terminal may, for example, be a Unix workstation or a PC). Having a connection to the Internet of this form is known as having xe2x80x98network accessxe2x80x99. Any entity that has network access to the Internet may act as a server on the Internet provided it has sufficient associated functionality; in FIG. 4, entity 32 with file store 37 acts as a server.
Many users of the WWW do not have network access to the Internet but instead access the Internet via an Internet service provider, ISP, 33 that does have network access. In this case, the user terminal 34 will generally communicate with the ISP 33 over the public telephone system using a modem and employing either SLIP (Serial Line Interface Protocol) or PPP (Point-to-Point Protocol). These protocols allow Internet packets to traverse ordinary telephone lines. Access to the Internet of this form is known as xe2x80x9cdialup IPxe2x80x9d access. With this access method, the user terminal 34 is temporarily allocated an IP address during each user session; however, since this IP address may differ between sessions, it is not practical for the entity 34 to act as a server.
A cornerstone of the WWW is its ability to address particular information resources by means of an Uniform Resource Identifier (URI) that will generally be either a Uniform Resource Locator (URL) that identifies a resource by location, or a Uniform Resource Name (URN) that can be resolved into an URL. By way of example, a full or xe2x80x9cabsolutexe2x80x9d URL will comprise the following elements:
In fact, the xe2x80x98portxe2x80x99 may be omitted in which case port 80 is assumed.
FIG. 5 of the accompanying drawings shows an example URL for the Hewlett-Packard products welcome page. In this case, the elements are:
The HTTP protocol is based on a request/response paradigm. Referring again to FIG. 4 of the drawings, given a particular URI identifying a resource 30 to be accessed, a client establishes a connection with the server 31 corresponding to the xe2x80x9chostxe2x80x9d element of the URI and sends a request to the server. This request includes a request method, and the xe2x80x9cRequest-URIxe2x80x9d (which is generally just the absolute path of the resource on the server as identified by the xe2x80x9cabs-pathxe2x80x9d element of the URI); the request may include additional data elements. The server 31 then accesses the resource 36 (here held on storage 37) and responds and this response may include an entity of a type identified by a MIME (Multipurpose Internet Mail Extensions) type also included in the response.
The two main request methods are:
GETxe2x80x94This method results in the retrieval of whatever information (in the form of an entity) is identified by the Request-URI. It is important to note that if the Request-URI refers to a data-producing process, it is the produced data which is returned as the entity in the response and not the source text of the process.
POSTxe2x80x94This method is used to request that the destination server accept the entity enclosed in the request as a new subordinate of the resource identified by the Request-URI. The POST method can be used for annotation of existing resources, providing a message to a bulletin board, providing data to a data-handling process (for example, data produced as the result of submitting a form), and extending a database through an append operation.
In summary, the GET method can be used to directly retrieve data, or to trigger any process that will return an entity (which may either be data or a simply an indication of the result of running the process). The POST method is used for registering data and specifying this method is also effective to trigger a process in the server to handle the posted data appropriately.
The passing of information to a process triggered to run on a server using either the GET or POST method is currently done according to an interface called the Common Gateway Interface (CGI). The receiving process is often written in a scripting language though this is not essential. Typically, the triggered server script is used for interfacing to a database to service a query included in a GET request. Another use, already referred to, is to append data associated with a POST request to a database.
Other important factors in the success of the WWW is the use of the HyperText Markup Language (HTML) for representing the makeup of documents transferred over the WWW, and the availability of powerful graphical Web browsers, such as Netscape and Mosaic, for interpreting such documents in a client terminal to present them to a user. Basically, HTML is used to identify each part of a document, such as a title, or a graphic, and it is then up to the browser running in the client terminal to decide how to display each document part. However, HTML is more than thisxe2x80x94it also enables a URI and a request method to be associated with any element of a document (such as a particular word or an image) so that when a user points to and clicks on that element, the resource identified by the URI is accessed according to the scheme (protocol) and request method specified. This arrangement provides a hyperlink from one document to another. Using such hyperlinks, a user at a client terminal can skip effortlessly from one document downloaded from a server on one side of the world, to another document located on a server on the other side of the world. Since a document created by one author may include a hyperlink to a document created by another, an extremely powerful document cross-referring system results with no central bureaucratic control.
Hyperlinks are not the only intelligence that can be built into an HTML document. Another powerful feature is the ability to fill in a downloaded xe2x80x9cFormxe2x80x9d document on screen and then activate a xe2x80x98commitxe2x80x99 graphical button in order to have the entered information passed to a resource (such as a database) designed to collect such information. This is achieved by associating the POST request method with the xe2x80x98commitxe2x80x99 button together with the URI of the database resource; activating the xe2x80x98commitxe2x80x99 button results in the entered information being posted to the identified resource where it is appropriately handled.
Another powerful possibility is the association of program code (generally scripts to be interpreted) with particular documents elements, such as graphical buttons, this code being executed upon the button being activated. This opens up the possibility of users downloading program code from a resource and then running the code.
It will be appreciated by persons skilled in the art that HTML is only one of several currently available scripting languages delivering the functionality outlined above and it may be expected that any serious Web browser will have built-in support for multiple scripting languages. For example, Netscape 2.0 supports HTML 3.0, Java and LiveScript (the latter being Netscape proprietary scripting Language).
The importance of the role of the graphical Web browser itself should not be overlooked. As well as the ability to support multiple scripting languages, a Web browser should provide built-in support for standard media types, and the ability to load and execute programs in the client, amongst other features. These browsers may be viewed as operating systems for WWW interaction.
WWW and the Telephone Network
It is possible to provide a telephony service over the Internet between connected terminals by digitising voice input and sending it over the Internet in discrete packets for reassembly at the receiving terminal. This is an example of a communication service on the Internet. Conversely, it is possible to point to a variety of information services provided over the telephone system, such as the Minitel system widely available in France. However, these encroachments into each anothers traditional territories pose no real threat to either the Internet or the public telephone system.
Of more interest are areas of cooperative use of the Internet and the telephone system. In fact, one such area has existed for some considerable time and has been outlined above with reference to FIG. 4, namely the use of a modem link over the PSTN from a user computer 34 to an Internet service provider 33 in order to obtain dialup IP access to the Internet. This cooperative use is of a very simple nature, namely the setting up of a bearer channel over the PSTN for subsequently generated Internet traffic; there is no true interaction between the Internet and the PSTN.
Another known example of the cooperative use of the Internet and PSTN is a recently launched service by which an Internet user with a sound card in his/her terminal computer can make a voice call to a standard telephone anywhere in the world. This is achieved by transferring digitised voice over the Internet to a service provider near the destination telephone; this service provider then connects into the local PSTN to access the desired phone and transfers across into the local PSTN the voice traffic received over the Internet. Voice input from the called telephone is handled in the reverse manner. Key to this service is the ability to identify the service provider local (in telephony charging terms) to the destination phone. This arrangement, whilst offering the prospect of competition for the telecom operators for long distance calls, is again a simple chaining together of the Internet and PSTN. It may, however, be noted that in this case it is necessary to provide at least a minimum of feedback to the Internet calling party on the progress of call set to the destination telephone over the PSTN local to that telephone; this feedback need only be in terms of whether or not the call has succeeded.
From the foregoing it can be seen that the current cooperative use of the Internet and telephone system is at a very simple level.
It is an object of the present invention to provide a call setup method for setting up bearer channels through a telecommunications system which faciliates the provision of services by making use of a computer network accessible to users of the telecommunication systems.
According to one aspect of the present invention, there is provided a method of setting up a bearer channel through a switched telecommunications system between a first-party user and a second-party user, the method comprising the steps of:
(a)xe2x80x94providing a third-party call setup gateway with an interface to a computer network, this network being generally accessible to users of the telecommunications system but logically distinct from the latter;
(b)xe2x80x94providing switch means for setting up bearer channel portions through the telecommunications system;
(c)xe2x80x94receiving a call setup request at said interface from across the computer network, this setup request including a first predetermined code related to the first-party user and a second predetermined code related to the second-party user; and
(d)xe2x80x94controlling said switch means, in dependence on said predetermined codes included in said call setup request received at said gateway, to set up and intercommunicate first and second bearer channel portions passing through said telecommunications system respectively towards said first-party and second-party users.
The switch means may be provided internally or externally of the telecommunications system and may be directly or indirectly commanded by the gateway.
In one preferred implementation, the method further comprises the steps of:
(i)xe2x80x94provisioning a server connected to the computer network with a service resource item for providing the second predetermined code to an accessing entity;
(ii)xe2x80x94accessing the service resource item across the computer network from a terminal associated with the first-party user in order to make available said second predetermined code at said terminal; and
(iii)xe2x80x94generating the call setup request at the terminal and transmitting it to the third-party call setup gateway over the computer network.
In an alternative preferred implementation the method further comprises the steps of:
(i)xe2x80x94provisioning a server connected to the computer network with the second predetermined code and with service logic for generating and transmitting call setup requests; and
(ii)xe2x80x94passing the first predetermined code to the service logic across the computer network from a terminal associated with the first-party user whereby to cause the service logic to generate the call setup request at the server and transmit the request to the third-party call setup gateway over the computer network.
Advantageously, the method further comprises the step of provisioning a server connected to the computer network with a service resource item associated with the second-party user; in this case, step (c) may further involve using the second predetermined code received in the call setup request to access said service resource item across the computer network with the results of this access being used in step (d) in controlling the switch means.
According to another aspect of the present invention, there is provided a gateway with an interface to a computer network which network is generally accessible to users of a telecommunications system but logically distinct from the latter, said gateway being operative to set up a bearer channel through said telecommunications system in response to a setup request received via said interface from a user terminal or server connected to the computer network.
According to a further aspect of the present invention, there is provided a method of providing services in a telecommunications system that includes a service control subsystem for providing service control upon receipt of a service request, said method including the steps of:
(a)xe2x80x94provisioning at least one server connected to a computer network with a plurality of service resources that are thereafter locatable on said computer network by corresponding known URIs, said computer network being generally accessible to users of the telecommunications system but logically distinct from the latter, and said service resources relating to setup control for bearer channels through said telecommunications system with each said service resource being associated with a respective predetermined code;
(b)xe2x80x94providing access to said at least one server from said service control subsystem and, upon the service control subsystem receiving a said service request including a said predetermined code, causing said service control subsystem to access the appropriate said server and utilise the service resource corresponding to the predetermined code included in the request for controlling set up of a bearer channel through said telecommunications system;
said provisioning step (a) being carried out across said computer network.
According to a yet further aspect of the present invention, there is provided a method of providing services in a telecommunications system that includes a service control subsystem for providing service control upon receipt of a service request, said method including the steps of:
(a)xe2x80x94provisioning at least one server connected to a computer network with a plurality of service resources that are thereafter locatable on said computer network by corresponding known URIs, said computer network being generally accessible to users of the telecommunications system but logically distinct from the latter, and said service resources relating to setup control for bearer channels through said telecommunications system with each said service resource being associated with a respective predetermined code;
(b)xe2x80x94providing access to said at least one server from said service control subsystem and, upon the service control subsystem receiving a said service request including a said predetermined code, causing said service control subsystem to access the appropriate said server and utilise the service resource corresponding to the predetermined code included in the request for controlling set up of a bearer channel through said telecommunications system; and
(c)xe2x80x94updating said service resources as required by accessing said at least one server across said computer network.
According to a still yet further aspect of the present invention, there is provided a communication control method including the step of providing call negotiation logic on an Internet server for use in controlling communication establishment through a telecommunications system, said logic being accessible by a party wishing to set up a communication either for execution in place on the server, or for downloading and use by the user.
It is to be understood that reference in the foregoing statements of invention to the computer network being logically distinct from the telecommunications system is not to be taken to imply that there is physical separation of the twoxe2x80x94indeed, there will frequently be joint use of the same physical infrastructure. Furthermore, not only may bearer channels set up in the telecommunications system share the same transmission medium as the computer network, but such a bearer channel may act as a pipe for traffic across the computer network. As regards the computer network being generally accessible to users of the telecommunications system, this should not be construed that all users of the telecommunications system have such access or can get such access; rather, it should be understood as meaning that a significant proportion of these users have or can obtain access to the computer network. The intention is to exclude computer networks that are dedicated to the management or monitoring of the bearer network and effectively form part of the telecommunications system itself.
By way of example, in one case the computer network generally accessible to users of the telecommunications system but logically distinct from it, may be the Internet and the telecommunications system may be a public telephone system (PSTN or PLMN). In another case, the telecommunication system may be a private system including a PABX, and the computer network may be a LAN.
Where service resource items are referred to above these may take any of the following forms as appropriate:
service logic intended to be executed by the corresponding server upon being accessed with the result of this execution being returned to the accessing entity;
downloadable service data which upon being accessed is intended to be downloaded to the accessing entity;
downloadable service logic which upon being accessed is intended to be downloaded to the accessing entity for execution thereby;
a logging resource for logging at least the occurence of a log message.
Preferably, where URIs are referred to in the foregoing, these URIs are URLs and/or URNs. Furthermore, the servers referred to are preferably HTTP servers with the service resource items being provided by users on their xe2x80x9cWeb pagesxe2x80x9d.